
package main.old.new_2023.last.month_9;


/**
 * @Description: todo LCP 50. 宝石补给
 * 欢迎各位勇者来到力扣新手村，在开始试炼之前，请各位勇者先进行「宝石补给」。
 * 每位勇者初始都拥有一些能量宝石， gem[i] 表示第 i 位勇者的宝石数量。现在这些勇者们进行了一系列的赠送，
 * operations[j] = [x, y] 表示在第 j 次的赠送中 第 x 位勇者将自己一半的宝石（需向下取整）赠送给第 y 位勇者。
 * 在完成所有的赠送后，请找到拥有最多宝石的勇者和拥有最少宝石的勇者，并返回他们二者的宝石数量之差。
 *
 * @Author: Take-off
 * @Date: 1:00 PM 2023/6/
 * @Param:
 * @return:
 **/
public class Solution0915 {

    //宝石补给
    public int giveGem(int[] gem, int[][] operations) {
        if (gem.length == 0){
            return 0;
        }
        for (int[] operation:operations){
            int x = gem[operation[0]];
            int y = gem[operation[1]];
            int temp = x / 2;
            x = x - temp;
            y = y + temp;
            gem[operation[0]] = x;
            gem[operation[1]] = y;
        }

        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;
        for (int g:gem){
            min = Math.min(g,min);
            max = Math.max(g,max);
        }
        return max - min;
    }

}
